#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const int N=2e5+10;
pii a[N];
int c[N]={0};
void solve()
{
	int n;
	scanf("%d",&n);
	int t;
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i].first);
	}
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i].second);
	}
	sort(a,a+n);
	ll ans=0;
	for(int i=1;i*i<=2*n;i++)
	{
		for(int j=1;j<=n;j++) c[j] = 0;
		
		for(int j=0;j<n;j++)
		{
			int y=a[j].first*i-a[j].second;
			if(y>=1 && y<=n) 
			{
				ans+=c[y];

			}
			if(a[j].first==i)
			{
				c[a[j].second]+=1;
			}
			
		}
	}
	cout<<ans<<endl;
}

int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		solve();
	}

	return 0;
}

